package cn.itsource.org.mapper;

import cn.itsource.org.domain.Employee;
import cn.itsource.org.query.EmployeeQuery;

import java.util.List;

/**
 * 员工持久层
 */
public interface EmployeeMapper {
    /**
     * 查询全部
     * @return
     */
    List<Employee> queryAll();

    /**
     * 新增
     * @param employee
     */
    void save(Employee employee);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 修改
     * @param employee
     */
    void update(Employee employee);

    /**
     * 基于id查询
     * @param id
     * @return
     */
    Employee queryById(Long id);

    /**
     * 用于高级查询和分页 计算总条数
     * @param query
     * @return
     */
    Long count(EmployeeQuery query);

    /**
     * 高级查询
     * @param query
     * @return
     */
    List<Employee> queryDate(EmployeeQuery query);

    /**
     * 批量删除
     * @param ids
     */
    void patchDel(Long[] ids);
}
